Scroll to navigation

SSH-AGENT(1) SSH SSH-AGENT(1)

JMÉNO

ssh-agent - autentizační agent

POUŽITÍ

ssh-agent [-c | -s] [-d] [-a navaž_adresu] [-t životnost] [příkaz [parametry ...]]

ssh-agent [-c|-s] -k

POPIS

Program ssh-agent shromažďuje soukromé autentizační klíče (RSA i DSA). Ssh-agent by měl být odstartován na začátku X-session nebo login session, a všechna okna nebo ostatní programy by měly být startovány jako jeho potomci (příkaz zadaný jako parametr slouží normálně ke startu X Window Systemu nebo je uživatelským shellem). Programy odstartované z agenta jsou s ním propojeny a automaticky jej používají pro RSA autentizaci při přihlašování na jiné stroje pomocí ssh(1).

Parametry:

Naváže agenta na unixový socket bind_address. Implicitní adresa je /tmp/ssh-XXXXXXXXXX/agent.<ppid>.
Generuje C-shell příkazy na standardní výstup. Toto je implicitní nastavení, pokud SHELL vypadá jako csh styl shellu.
Ladící mód. Je-li zadán tento přepínač, ssh-agent nikdy neprovede fork.
Ukončí současného ssh agenta. (dáno proměnnou prostředí SSH_AGENT_PID) -TP -s Generuje Bourne shell příkazy na standardní výstup. Toto je implicitní nastavení, pokud SHELL nevypadá jako csh styl shellu
Nastaví implicitní hodnotu pro maximální délku patnosti identit vložených v agentovi. Délka života může být specifikována v sekundách, nebo ve formátu definovaném sshd_config(5). Délka života specifikovaná v ssh-add(1) přepíše hodnotu definovanou pomocí parametru -t. Pokud není nastaven tento parametr je maximální délka života nekonečno.
ssh-agent odstartován bez parametrů, poběží jako proces v pozadí. Přitom vypíše na stdout příkazy, které mohou být při spuštění v příkazu eval v shellech odvozených z sh nebo csh použity pro nastavení proměnných prostředí SSH_AUTH_SOCK a SSH_AGENT_PID. Proměnná prostředí SSH_AGENT_PID může být použita pro ukončení agenta příkazem kill, když už není potřeba (například při odhlašování z X-sezení atd.). Nejsou-li zadány žádné volby, ssh-agent zjistí podle hodnoty proměnné prostředí SHELL, jaký shell (z rodiny *csh nebo *sh shellů) je použit. Volba -c způsobí vypsání příkazu pro nastavení proměnných prostředí ve stylu csh shellu, volba -s ve stylu sh shellu.

Pamatujte, že v Unixech odvozených od System V (přinejmenším v OS IRIX a Solaris) proměnná prostředí SHELL nemusí obsahovat jméno aktuálního shellu, který provádí příkaz eval. Jestliže je v /etc/default/login nastavena proměnná prostředí ALTSHELL na YES, je proměnná prostředí SHELL nastavena na uživatelův login shell.

Volba -k může být použita k automatickému ukončení agenta. Ukončí agenta (pro jeho nalezení použije hodnotu proměnné prostředí SSH_AGENT_PID) a vypíše na stdout příkazy shellu, které zruší proměnné prostředí SSH_AUTH_SOCKET a SSH_AGENT_PID.

Agent zpočátku nemá žádný soukromý klíč. Klíče jsou přidávány příkazy ssh-add. Příkaz ssh-add při spuštění bez parametrů přidá obsah souboru $HOME/.ssh/identity. Jestliže má soubor přístupové heslo, ssh-add se na něj dotáže (použije malou X11 aplikaci pokud běží pod X11, nebo terminál pokud běží bez X). Potom zašle identitu agentovi. Agent může obsahovat několik identit; agent z nich vybere správnou automaticky. Příkaz ssh-add -l vypíše seznam identit aktuálně známých agentovi.

Výhodou je fakt, že agent je spuštěn na uživatelově lokálním PC, laptopu nebo terminálu. Autentizační data nemusí být uložena na žádném jiném stroji, a autentizační přístupová hesla nejsou nikdy posílána přes síť. Spojení s agentem je udržováno pomocí ssh, takže uživatel může bezpečně používat přístupová práva daná identitami kdekoli v síti.

Existují dvě základní cesty, jak agenta nastavit. První z nich je, že agent spustí nový podpříkaz, do kterého jsou exportovány nějaké proměnné prostředí, např. ssh-agent xterm&. Druhou možností je, že agent vytiskne potřebné shellovské příkazy, které pak mohou být spuštěny volajícím shellem.

Shell pak může použít tyto informace pro spojení s agentem.

Agent nikdy nepošle soukromý klíč přes požadovaný kanál. Místo toho jsou operace, které vyžadují soukromý klíč provedeny na straně agenta a výsledek bude zaslán žadateli. Díky tomuto postupu nejsou soukromé klíče vystaveny klientům, kteří agenta používají.

Je vytvořen unixový secket a jeho jméno je uloženo v proměnné SSH_AUTH_SOCK. Socket je dostupný pouze danému uživateli. Tato metoda může být snadno zneužita kořenovým uživatelem.

Promměnná prostředí SSH_AGENT_PID obsahuje ID číslo procesu agenta.

Agent je automaticky ukončen, když přikaz zadaný na příkazovém řádku skončí.

SOUBORY

~/.ssh/identity
Obsahuje RSA autentizační identitu uživatele. Tento soubor nesmí být čitelný nikým kromě uživatele. Při generování klíče je možné zadat přístupové heslo; toto heslo bude použito na zašifrování soukromé části souboru. Soubor není používán přímo programem ssh-agent, ale jeho obsah je příkazem ssh-add přidán do agenta.
~/.ssh/id_dsa
Obshuje protokol verze 2 DSA ověření identity uživatele.
~/.ssh/id_rsa
Obshuje protokol verze 2 RSA ověření identity uživatele.
/tmp/ssh-XXXXXXXXXX/agent<ppid>
Unix-domain sokety použité pro spojení s autentizačním agentem. Sokety musí být čitelné pouze vlastníkem. Sokety musí být při ukončení agenta automaticky zrušeny. Nadřízený adresář adresáře ssh-$USER musí mít nastaven sticky bit.

VIZ TÉŽ


ssh-add (1), ssh-keygen (1), ssh (1), sshd (8)

AUTOŘI

OpenSSH je odvozeno od originálního a volného ssh 1.2.12, které bylo vydáno Tatu Ylonenem. Aaron Campbell, Bob Beck, MArkus Friedl, Niels Provos, Theo de Raadt and Dug Song odstranili mnohe chyby, doplnili funkčnost a vytvořili tak OpenSSH. Markus Friedl přispel k vývoji SSH protokolu ve verzích

1.5 a 2.0.

8. září 2009 SSH